﻿/****************************************************/
// Archivo: FormUtils.cs
// Funcion: Clase utilitaria para trabajar con cadenas, fechas, formateos, etc
// Autor: Michael Valle
// Historial:
// 05.02.2013 / Michael Valle
/****************************************************/

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Globalization;
using System.IO;

namespace orienta.Utils
{
    public class FormUtils
    {

        public static DateTime formatearFecha(String fecha)
        {
            IFormatProvider provider = new CultureInfo("es-PE", true);
            String format = "dd/MM/yyyy";
            return DateTime.ParseExact(fecha, format, provider);
        }

        public static DateTime formatearFecha(String fecha, String format)
        {
            IFormatProvider provider = new CultureInfo("es-PE", true);
            
            return DateTime.ParseExact(fecha, format, provider);
        }

        public static Nullable<global::System.Decimal> toDecimal(String valor)
        {
            if (valor == null || valor=="")
                return null;
            else
                return Decimal.Parse(valor);
        }

        public static Nullable<global::System.Int32> toInt(String valor)
        {
            if (valor == null || valor == "")
                return null;
            else
                return int.Parse(valor);
        }

        public static byte[] GetBytes(HttpPostedFileBase file)
        {
             BinaryReader b = new BinaryReader(file.InputStream);
             byte[] binData = b.ReadBytes(file.ContentLength);

            return binData;
            /*
            byte[] bytes = new byte[str.Length * sizeof(char)];
            System.Buffer.BlockCopy(str.ToCharArray(), 0, bytes, 0, bytes.Length);
            
            return bytes;*/
        }

        public static string GetString(byte[] bytes)
        {
            char[] chars = new char[bytes.Length / sizeof(char)];
            System.Buffer.BlockCopy(bytes, 0, chars, 0, bytes.Length);
            return new string(chars);
        }

    }
}